#!/usr/bin/env python
# -*- coding: utf-8 -*-

# Módulos 
import sys, gtk, pygame, utils, objetos
from pygame.locals import *

# Constantes

# Clases
# ---------------------------------------------------------------------

class Lamparita(pygame.sprite.Sprite):
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.sonido = pygame.mixer.Sound("sounds/eureka.ogg")
        self.sonido.set_volume(0.1)   
        self.image = utils.load_image("images/lamparita_chica.png", True)
        self.rect = self.image.get_rect()
        self.rect.centerx = 120*utils.RES
        self.rect.centery = 230*utils.RES   
        self.flag_sonido = True

# ---------------------------------------------------------------------
def dibujar(screen,cursor_picture, clock):
    salir = 0
    background_image = utils.load_image('images/fondo1_2.png')
    i= 0
    j= 0
    numero_linea = 1
    btn_adelante = objetos.BotonAdelante()
    btn_atras = objetos.BotonAtras()
    clase1, clase1_rect = utils.texto_clase("Clase 1", 750*utils.RES, 15*utils.RES)
           
    titulo, titulo_rect = utils.texto_subtitulo("RECURSOS RENOVABLES Y NO RENOVABLES", 400*utils.RES, 70*utils.RES)
    titulo_sub, titulo_sub_rect = utils.texto_subtitulo(".........................................................", 400*utils.RES, 80*utils.RES)
    linea1,linea1_rect = utils.texto_normal('Otra manera de clasificar los RECURSOS NATURALES es agruparlos', 355*utils.RES,130*utils.RES)
    linea2,linea2_rect = utils.texto_normal('en RECURSOS RENOVABLES Y RECURSOS NO RENOVABLES.', 320*utils.RES,160*utils.RES)
    linea3,linea3_rect = utils.texto_normal('Los RECURSOS RENOVABLES son aquellos que se regeneran o se', 353*utils.RES,300*utils.RES)
    linea4,linea4_rect = utils.texto_normal('reproducen constantemente: las plantas y los animales son', 342*utils.RES,330*utils.RES)
    linea5,linea5_rect = utils.texto_normal('recursos renovables. En cambio, los RECURSOS NO RENOVABLES', 356*utils.RES,360*utils.RES)
    linea6,linea6_rect = utils.texto_normal('son los que se encuentran disponibles en cantidades fijas,', 340*utils.RES,390*utils.RES)
    linea7,linea7_rect = utils.texto_normal('limitadas, como los minerales. Cada vez que se usan, se van agotando.', 390*utils.RES,420*utils.RES)
    
    linea8,linea8_rect = utils.texto_normal('El nombre de cada grupo te da una pista sobre qué tipo de', 420*utils.RES,200*utils.RES,(50, 50, 255))
    linea9,linea9_rect = utils.texto_normal('elementos lo componen. ¿Se te ocurre por qué se llaman asi?', 427*utils.RES,230*utils.RES,(50, 50, 255))
    linea10,linea10_rect = utils.texto_normal('Hacé click en el foquito si querés saber la respuesta!', 393*utils.RES,260*utils.RES,(255, 0, 0))
    
    
    lamparita = Lamparita()
    librito = utils.load_image('images/librito.png', True)
    
    show_dialog = False
    frame = 0
    
    while salir == 0:
    
    	# Pump GTK messages.
		while gtk.events_pending():
			gtk.main_iteration()
			
		for eventos in pygame.event.get():
			if eventos.type == QUIT:
				sys.exit(0)
			elif eventos.type == pygame.VIDEORESIZE:
			   pygame.display.set_mode(eventos.size, pygame.RESIZABLE)	
			elif eventos.type == MOUSEBUTTONDOWN:
				if btn_adelante.rect.collidepoint(pygame.mouse.get_pos()):
					salir = 8
					btn_adelante.sonido.play()	
				elif btn_atras.rect.collidepoint(pygame.mouse.get_pos()):
					salir = 6
					btn_atras.sonido.play()	
				elif lamparita.rect.collidepoint(pygame.mouse.get_pos()):
					lamparita.sonido.play()
					if show_dialog == False:
						show_dialog = True
					else:
						show_dialog = False

		# Realiza la animacion del texto				
			
		screen.blit(background_image, (0, 0))
		screen.blit(clase1, clase1_rect)
		if 20	< frame:
			screen.blit(librito, (int(70*utils.RES), int(40*utils.RES)))
			screen.blit(titulo, titulo_rect)
			screen.blit(titulo_sub, titulo_sub_rect)
		if 50	< frame:
			screen.blit(linea1,linea1_rect)
			screen.blit(linea2,linea2_rect)
		if 80	< frame:			
			screen.blit(linea8,linea8_rect)
			screen.blit(linea9,linea9_rect)
			screen.blit(linea10,linea10_rect)
			screen.blit(lamparita.image, lamparita.rect)
			if lamparita.flag_sonido:
				lamparita.sonido.play()	
				lamparita.flag_sonido = False
		if show_dialog == True:
			screen.blit(linea3,linea3_rect)
			screen.blit(linea4,linea4_rect)
			screen.blit(linea5,linea5_rect)
			screen.blit(linea6,linea6_rect)
			screen.blit(linea7,linea7_rect)
		
		screen.blit(btn_adelante.image, btn_adelante.rect)
		screen.blit(btn_atras.image, btn_atras.rect)
		screen.blit(cursor_picture, pygame.mouse.get_pos())
		pygame.display.flip()

		# Try to stay at 30 FPS
		clock.tick(30)
		frame = frame +1
                	 
    return salir

# This function is called when the game is run directly from the command line:
# ./TestGame.py 
def main():
	
	pygame.init()
	screen = pygame.display.set_mode((int(800*utils.RES), int(520*utils.RES)), pygame.RESIZABLE) #pygame.display.get_surface() #

	# Fake a Sugar cursor for the pyGame canvas area
	pygame.mouse.set_cursor((8,8),(0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0))
	cursor_picture = pygame.image.load('images/standardcursor.png')
	cursor_picture.convert_alpha() 
	clock = pygame.time.Clock()
	dibujar(screen,cursor_picture,clock)

if __name__ == '__main__':
   main()
